An Automatic Partial Deduction System for Constraint Logic Programs
نویسندگان
چکیده
This paper presents a new procedure of partial deduction of various constraint logic programs. The procedure takes a program-goal pair (P0, Q0) as input and outputs a resultant program-goal pair (Pn, Qn). The procedure always terminates and the computational equivalence of the program-goal pairs (P0, Q0) and (Pn, Qn) is preserved. Pn is more efficient in solving Qn than P0 in solving Q0. Our procedure is based on the idea of program transformation, using transformation rules such as unfolding, constraint simplification, code deletion with respect to a goal, introduction of a newly defined clause, and folding. We have implemented the procedure in an integrated partial deduction system, which can work with Prolog, CLP(Bool), and CLP(R) programs. Our results are compared with those resulting from other partial deduction methods, and it is shown that our method generates more succinct and efficient resultant programs
منابع مشابه
Under consideration for publication in Theory and Practice of Logic Programming 1 Logic program specialisation through
Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It is achieved through a well-automated application of parts of the Burstall-Darlington unfold/fold ...
متن کاملEcological Partial Deduction : Preserving Characteristic
A partial deduction strategy for logic programs usually uses an abstraction operation to guarantee the niteness of the set of atoms for which partial deductions are produced. Finding an abstraction operation which guarantees niteness and does not loose relevant information is a diicult problem. In earlier work Gallagher and Bruynooghe proposed to base the abstraction operation on characteristic...
متن کاملLogic program specialisation through partial deduction: Control issues
Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It is achieved through a well-automated application of parts of the Burstall-Darlington unfold/fold ...
متن کاملThe ecce Partial Deduction System
We present the fully automatic partial deduction system ecce, which can be used to specialise and optimise logic programs. We describe the underlying principles of ecce and illustrate some of the potential application areas. Interesting possibilites of crossfertilisation with other elds such as reachability analysis of concurrent systems and inductive theorem proving are highlighted and substan...
متن کاملThe ecce Partial Deduction
We present the fully automatic partial deduction system ecce, which can be used to specialise and optimise logic programs. We describe the underlying principles of ecce and illustrate some of the potential application areas. Interesting possibilites of cross-fertilisation with other elds such as reachability analysis of concurrent systems and inductive theorem proving are highlighted and substa...
متن کامل